package org.wukongcrm.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
    * 任务表
    */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "work_task")
public class WorkTask implements Serializable {
    @TableId(value = "task_no", type = IdType.INPUT)
    private Integer taskNo;

    /**
     * 任务类型 0需求 1任务 2缺陷
     */
    @TableField(value = "task_type")
    private Integer taskType;

    /**
     * 任务名称
     */
    @TableField(value = "`name`")
    private String name;

    /**
     * 任务描述
     */
    @TableField(value = "task_detail")
    private String taskDetail;

    /**
     * 开始时间
     */
    @TableField(value = "start_time")
    private Date startTime;

    /**
     * 结束时间
     */
    @TableField(value = "end_time")
    private Date endTime;

    /**
     * 优先级 无 低 中 高
     */
    @TableField(value = "pri")
    private Integer pri;

    /**
     * 处理人
     */
    @TableField(value = "handle_user_ids")
    private String handleUserIds;

    /**
     * 创建人
     */
    @TableField(value = "create_user_id")
    private Integer createUserId;

    /**
     * 团队成员
     */
    @TableField(value = "owner_user_ids")
    private String ownerUserIds;

    /**
     * 任务状态 0未开始 1进行中 2已完成
     */
    @TableField(value = "`status`")
    private Integer status;

    /**
     * 任务进度
     */
    @TableField(value = "task_progress")
    private Integer taskProgress;

    /**
     * 预估工时
     */
    @TableField(value = "estimate_hours")
    private Integer estimateHours;

    /**
     * 实际工时
     */
    @TableField(value = "fact_hours")
    private Integer factHours;

    /**
     * 剩余工时
     */
    @TableField(value = "surplus_hours")
    private Integer surplusHours;

    /**
     * 附件
     */
    @TableField(value = "file_id")
    private Integer fileId;

    /**
     * 父级编号
     */
    @TableField(value = "parent_id")
    private Integer parentId;

    /**
     * 关联业务
     */
    @TableField(value = "transaction_id")
    private Integer transactionId;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    private static final long serialVersionUID = 1L;
}